package dao

import (
	"errors"
	"gorm.io/gorm"
	"src/conf/database"
	"src/entity"
)

// GetPlanByID 根据ID从数据库中查询一个Plan实体
func GetPlanByID(id int) (entity.Plan, error) {
	// 使用已经初始化的单例数据库连接
	db := database.InitDatabase()

	var plan entity.Plan

	// 查询数据库中的计划
	if err := db.Where("id = ?", id).First(&plan).Error; err != nil {
		if errors.Is(err, gorm.ErrRecordNotFound) {
			return plan, nil // 记录未找到时返回空实体和nil错误
		}
		return plan, err // 其他错误
	}

	return plan, nil
}
